package com.hand.cloud.config;

import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class GatewayConfig {

    // 创建一个自定义的路由定位器，用于配置路由规则
    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        RouteLocatorBuilder.Builder routes = builder.routes();

        // 定义一个名为 "route_one" 的路由规则，当请求路径匹配 "/guonei" 时，将请求转发到 "http://news.baidu.com/guonei"
        routes.route("route_one", r -> r.path("/guonei").and().uri("http://news.baidu.com/guonei")).build();

        // 返回构建好的路由规则
        return routes.build();
    }

    // 创建另一个自定义的路由定位器，用于配置第二个路由规则
    @Bean
    public RouteLocator customRouteLocator2(RouteLocatorBuilder builder) {
        RouteLocatorBuilder.Builder routes = builder.routes();

        // 定义一个名为 "route_two" 的路由规则，当请求路径匹配 "/guoji" 时，将请求转发到 "http://news.baidu.com/guoji"
        routes.route("route_two", r -> r.path("/guoji").uri("http://news.baidu.com/guoji")).build();

        // 返回构建好的路由规则
        return routes.build();
    }
}

